// 全局配置文件
const config = {
  // API基础URL
  apiBaseUrl: '/api',
  
  // 资源文件基础URL（如头像、上传文件等）
  resourceBaseUrl: '/upload',
  
  // 后端服务器地址（仅用于直接访问，一般情况下使用代理）
  backendUrl: 'http://localhost:5855',
  
  // 获取头像完整URL的方法（使用相对路径和代理）
  getAvatarUrl(path) {
    if (!path) {
      console.log('[Config] 头像路径为空');
      return '';
    }
    
    // 如果是完整URL，直接返回
    if (path.startsWith('http')) {
      console.log('[Config] 使用完整URL:', path);
      return path;
    }
    
    // 确保路径以/开头
    const normalizedPath = path.startsWith('/') ? path : `/${path}`;
    
    // 使用相对路径，确保前缀正确
    if (normalizedPath.startsWith('/upload/')) {
      console.log('[Config] 使用相对路径:', normalizedPath);
      return normalizedPath;
    } else {
      const result = `/upload${normalizedPath}`;
      console.log('[Config] 添加上传路径前缀:', result);
      return result;
    }
  },
  
  // 获取头像直接URL（不使用代理，直接访问后端）
  getDirectAvatarUrl(path) {
    if (!path) {
      return '';
    }
    
    // 如果是完整URL，直接返回
    if (path.startsWith('http')) {
      return path;
    }
    
    // 确保路径以/开头
    const normalizedPath = path.startsWith('/') ? path : `/${path}`;
    
    // 使用完整的URL路径，带端口号
    if (normalizedPath.startsWith('/upload/')) {
      return normalizedPath;
    } else {
      return `/upload${normalizedPath}`;
    }
  },
  
  // 处理图片URL，解决路径不一致问题
  getImageUrl(path) {
    if (!path) {
      console.log('[Config] 图片路径为空');
      return '';
    }
    
    // 如果是完整URL，直接返回
    if (path.startsWith('http')) {
      console.log('[Config] 图片使用完整URL:', path);
      return path;
    }
    
    // 确保路径以/开头
    const normalizedPath = path.startsWith('/') ? path : `/${path}`;
    
    // 处理包含images子目录的路径问题
    if (normalizedPath.startsWith('/upload/images/')) {
      // 从 /upload/images/20250513/filename.png 转换为 /upload/20250513/filename.png
      const parts = normalizedPath.split('/');
      if (parts.length >= 4) {
        const date = parts[3]; // 日期部分
        const filename = parts[4] || parts[parts.length - 1]; // 文件名部分
        const fixedPath = `/upload/${date}/${filename}`;
        console.log('[Config] 修正图片路径:', normalizedPath, '->', fixedPath);
        return fixedPath;
      }
    }
    
    // 处理已经正确的路径格式
    if (normalizedPath.startsWith('/upload/')) {
      console.log('[Config] 图片使用相对路径:', normalizedPath);
      return normalizedPath;
    } else {
      const result = `/upload${normalizedPath}`;
      console.log('[Config] 添加图片上传路径前缀:', result);
      return result;
    }
  },
  
  // 构建API URL
  getApiUrl(path) {
    if (!path) return '';
    
    const normalizedPath = path.startsWith('/') ? path : `/${path}`;
    return `${this.apiBaseUrl}${normalizedPath}`;
  }
};

export default config; 